package com.coffee.sku.api.inquire.service;

import com.coffee.core.entity.Page;
import com.coffee.core.entity.PagerInfo;
import com.coffee.core.exception.BusinessException;
import com.coffee.sku.api.inquire.query.InquireSkuContentQuery;
import com.coffee.sku.api.inquire.rep.InquireSkuListRep;
import com.coffee.sku.api.inquire.req.InquireSkuAddReq;
import com.coffee.sku.api.inquire.req.InquireSkuUpdateReq;
import com.coffee.sku.api.inquire.result.InquireSkuContentResult;
import com.coffee.sku.api.sku.req.SkuListReq;
import com.coffee.sku.api.sku.req.SkuUpdateReq;

import java.util.List;
import java.util.Map;
import java.util.Set;


public interface InquireSkuContentService {

    Page<InquireSkuContentResult> getPager(InquireSkuContentQuery param, PagerInfo pr) throws BusinessException;

    Integer count(InquireSkuContentQuery param);

    InquireSkuContentResult getDetail(Integer id,Integer supplierId) throws BusinessException;

    InquireSkuContentResult getMerchantDetail(Integer skuId) throws BusinessException;

    List<InquireSkuContentResult> getList(InquireSkuContentQuery param, PagerInfo pr);

    List<InquireSkuContentResult> getList(InquireSkuContentQuery param);

    List<InquireSkuContentResult> getList();

    void delete(Integer id) throws BusinessException;

    void addOrUpdate(InquireSkuContentResult result) throws BusinessException;

    Map<Integer, InquireSkuContentResult> getItemMap(Set<Integer> idSet);

    Map<Integer, InquireSkuContentResult> getItemMap();

    Page<InquireSkuListRep> findList(SkuListReq param, PagerInfo pr);

    void addInquireSku(InquireSkuAddReq inquireSkuAddReq) throws BusinessException;

    void updateInquireSku(InquireSkuUpdateReq skuAddReq) throws BusinessException;

}